package com.onerway.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

@AllArgsConstructor
@Getter
public enum LpmsTypeEnum {

    Google_Pay("Google Pay", "GooglePay", "Worldwide", "EUR,USD,GBP,AUD", "email,country", null),
    Apple_Pay("Apple Pay", "ApplePay", "Worldwide", "EUR,USD,GBP,AUD", "email,country", null),
    Alipay_plus("Alipay+", "Alipay+", "Worldwide", "EUR,USD,GBP", "email,country", null),
    WeChat("WeChat", "WeChat", "GB", "GBP", "email,country", null),
    AlipayHK("AlipayHK", "AlipayHK", "AT,BE,BG,HR,CY,CZ,DK,EE,FI,FR,DE,GR,HU,IE,IT,LV,LT,LU,MT,NL,PL,PT,RO,SK,SI,ES,SE,IS,LI,NO,GB,CH", "GBP,USD,EUR,HKD,MYR,PHP,IDR,KRW,THB,CNY", "email,country", null),
    Alipay("Alipay", "AlipayCN", "AT,BE,BG,HR,CY,CZ,DK,EE,FI,FR,DE,GR,HU,IE,IT,LV,LT,LU,MT,NL,PL,PT,RO,SK,SI,ES,SE,IS,LI,NO,GB,CH", "EUR,GBP,USD,AUD,CNY,HKD,THB,MYR,KRW,IDR,PHP", "email,country", null),
    Kakao_Pay("Kakao_Pay", "KakaoPay", "AT,BE,BG,HR,CY,CZ,DK,EE,FI,FR,DE,GR,HU,IE,IT,LV,LT,LU,MT,NL,PL,PT,RO,SK,SI,ES,SE,IS,LI,NO,GB,CH", "USD,GBP,EUR,KRW,HKD,MYR,PHP,IDR,CNY,THB", "email,country", null),
    Klarna("Klarna", "Klarna", "AU,AT,BE,FI,FR,DE,GR,IE,IT,NL,PT,ES,CZ,DK,NO,PL,SE,CH,GB", "AUD,EUR,CZK,DKK,NOK,PLN,SEK,CHF,GBP", "email,country,language,products", null),
    Boleto("Boleto", "Boleto", "BR", "BRL,EUR,USD", "email,country,identityNumber,province,street,city,postalCode", null),
    BankTransfer("BankTransfer", "BankTransfer", "BR,PH", "BRL,EUR,USD,PHP", "email,country,identityNumber,province,street,city,postalCode,name", null),
    Banrisul("Banrisul", "Banrisul", "BR", "BRL,EUR,USD", "email,country,identityNumber,province,street,city,postalCode", null),
    Bradesco("Bradesco", "Bradesco", "BR", "BRL,EUR,USD", "email,country,identityNumber,province,street,city,postalCode", null),
    Banco_do_Brasil("Banco do Brasil", "BancodoBrasil", "BR", "BRL,EUR,USD", "email,country,identityNumber,province,street,city,postalCode", null),
    Itau("Itau", "Itau", "BR", "BRL,EUR,USD", "email,country,identityNumber,province,street,city,postalCode", null),
    MercadoPago("MercadoPago", "MercadoPago", "BR", "BRL,EUR,USD", "email,country,identityNumber,province,street,city,postalCode", null),
    PIX("PIX", "PIX", "BR", "BRL,EUR,USD", "email,country,identityNumber,province,street,city,postalCode", null),
    Servipag("Servipag", "Servipag", "CL", "CLP,EUR,USD", "email,country", null),
    Sencillito("Sencillito", "Sencillito", "CL", "CLP,EUR,USD", "email,country", null),
    Webpay("Webpay", "Webpay", "CL", "CLP,EUR,USD", "email,country", null),
    Multicaja("Multicaja", "Multicaja", "CL", "CLP,EUR,USD", "email,country", null),
    Baloto("Baloto", "Baloto", "CO", "COP,EUR,USD", "email,country", null),
    EFT("EFT", "EFT", "CO", "COP,EUR,USD,PHP", "email,country,identityNumber,bankName", null),
    Efecty("Efecty", "Efecty", "CO", "COP,EUR,USD", "email,country", null),
    SPEI("SPEI", "SPEI", "MX", "MXN,USD", "email,country", null),
    OXXO("OXXO", "OXXO", "MX", "MXN,USD", "email,country", null),
    OXXOPAY("OXXOPAY", "OXXOPAY", "MX", "MXN,USD", "email,country", null),
    PagoEfectivo("PagoEfectivo", "PagoEfectivo", "PE", "PEN,USD", "email,country", null),
    safetypay_cash_PE("safetypay-cash", "safetypay-cash", "PE", "PEN,USD", "email,country", null),
    safetypay_online_PE("safetypay-online", "safetypay-online", "PE", "PEN,USD", "email,country", null),
    PayU("PayU", "PayU", "PL,CZ", "PLN,CZK", "email,country", null),
    Przelewy24("Przelewy24", "Przelewy24", "PL", "PLN", "email,country,bankName", null),
    safetypay_cash_EC("safetypay-cash", "safetypay-cash", "EC", "USD", "email,country", null),
    safetypay_online_EC("safetypay-online", "safetypay-online", "EC", "USD", "email,country", null),
    Pagosnet("Pagosnet", "Pagosnet", "BO", "BOB,USD", "email,country", null),
    SEPADD("SEPADD", "SEPADD", "AT,BE,BG,HR,CY,CZ,DK,EE,FI,FR,DE,GR,HU,IE,IT,LV,LT,LU,MT,NL,PL,PT,RO,SK,SI,ES,SE,IS,LI,NO,AD,SM,MC,VA,PF,TF,GI,GG,IM,JE,BL,PM,CH,GB,WF", "EUR", "Cashier Payment:email,country API Payment:email,country,IBAN", "0.10 EUR~1,000 EUR"),
    Sofort("Sofort", "Sofort", "AT,BE,DE,NL,ES,CH", "EUR,CHF", "email,country", null),
    Giropay("Giropay", "Giropay", "DE", "EUR", "email,country", null),
    iDEAL("iDEAL", "iDEAL", "NL", "AUD,CAD,DKK,EUR,GBP,HKD,NOK,SEK,USD", "email,country", null),
    Konbini_JP("Konbini", "Konbini", "JP", "JPY", "email,country", null),
    PayEasy_JP("PayEasy", "PayEasy", "JP", "JPY", "email,country", null),
    POLi("POLi", "POLi", "AU", "AUD", "email,country", null),
    Bancontact("Bancontact", "Bancontact", "BE", "EUR", "email,country", null),
    OVO_ID("OVO", "OVO", "ID", "IDR", "email,country", null),
    MyBank("MyBank", "MyBank", "IT", "EUR", "email,country", null),
    Dragonpay("Dragonpay", "Dragonpay", "Worldwide", "PHP", "email,country", null),
    Skrill("Skrill", "Skrill", "Worldwide", "EUR,GBP,USD", "email,country", null),
    eNETS("eNETS", "eNETS", "SG", "SG", "email,country", null),
    PayseraWallet("PayseraWallet", "PayseraWallet", "LT,LV,EE", "EUR", "email,country", null),
    LithuanianBanks("LithuanianBanks", "LithuanianBanks", "LT", "EUR", "email,country", null),
    PaySafeCard("PaySafeCard", "PaySafeCard", "AT,AU,BE,BG,CA,CH,CY,CZ,DE,DK,ES,FI,FR,GB,GE,GI,GR,HR,HU,IE,IT,LI,LT,LU,MT,MX,NL,NZ,NO,PE,PL,PT,RO,SE,SI,SK,UY", "AUD,CAD,CHF,EUR,GBP,NOK,PLN,RON,SEK,USD", "email,country", null),
    Paysafecash("Paysafecash", "Paysafecash", "AT,BE,CA,CH,CY,CZ,DK,ES,FR,GB,GR,HR,HU,IE,IT,LU,LT,MT,NL,PL,PT,RO,SE,SI,SK", "AUD,CAD,CHF,EUR,GBP,NOK,PLN,RON,SEK,USD", "email,country", null),
    Payconiq("Payconiq", "Payconiq", "BE,NL,LU", "EUR", "email,country", null),
    Trustly("Trustly", "Trustly", "DE,DK,EE,ES,FI,GB,LT,LV,NL,NO,PL,SE,SK", "DKK,EUR,GBP,NOK,PLN,SEK", "email,country", null),
    GCash("GCash", "GCash", "PH", "PHP", "email,identityNumber,name", "1 PHP~10000 PHP(Equivalent)"),
    GrabPay_PH("GrabPay", "GrabPay", "PH", "PHP", "email,identityNumber,name", ">=1 PHP"),
    PayMaya("PayMaya", "PayMaya", "PH", "PHP", "email,identityNumber,name", "1 PHP~50000 PHP(Equivalent)"),
    ELEVEN("ELEVEN", "ELEVEN", "PH", "PHP", "email,identityNumber,name", "1 PHP~10000 PHP(Equivalent)"),
    GrabPay_TH("GrabPay", "GrabPaySG", "SG", "SGD", "country", "Min Value:0.01"),
    TrueMoney_Wallet("TrueMoneyWallet", "TrueMoneyWallet", "TH", "THB", "Cashier Payment:country API Payment:country,phone", "Min Value:20.00 Max Value:100,000.00"),
    Rabbit_Line_pay("Rabbit_Line_pay", "RabbitLinePay", "TH", "THB", "country", "Min Value:20.00  Max Value:150,000.00"),
    PromptPay("PromptPay", "PromptPay", "TH", "THB", "country", "Min Value:20.00 Max Value:150,000.00"),
    KRUNGSRI_ONLINE("KRUNGSRI_ONLINE", "KrungsriOnline", "TH", "THB", "country", "Min Value:20.00 Max Value:150,000.00"),
    BUALUANG_IBANKING("BUALUANG_IBANKING", "BualuangiBanking", "TH", "THB", "country", "Min Value:20. Max Value:150,000.00"),
    CIMB_CLICKS("CIMB_CLICKS", "CIMBClicks", "TH", "THB", "country", "Min Value:20.00 Max Value:150,000.00"),
    K_PLUS("K_PLUS", "KPLUS", "TH", "THB", "country", "Min Value:20.00 Max Value:150,000.00"),
    MCASH("MCASH", "MCASH", "MY", "MYR", "country", "Min Value:1.00"),
    TOUCH_GO_EWALLET("TOUCH_GO_EWALLET", "Touch'nGoeWallet", "MY", "MYR", "country", "Min Value:1.00"),
    ShopeePay_MY("ShopeePay", "ShopeePay", "MY", "MYR", "country", "Min Value:1.00"),
    Boost("Boost", "Boost", "MY", "MYR", "country", "Min Value:1.00"),
    BNI("BNI", "BNIVA", "ID", "IDR", "country", "Min Value:1 Max Value:10,000"),
    MANDIRI("MANDIRI", "MandiriATM", "ID", "IDR", "country", "Min Value:1 Max Value:10,000"),
    Maybank("Maybank", "MaybankVA", "ID", "IDR", "country", "Min Value:1 Max Value:10,000"),
    PERMATA("PERMATA", "PermataVA", "ID", "IDR", "country", "Min Value:1 Max Value:10,000"),
    BRI("BRI", "BRIVA", "ID", "IDR", "country", "Min Value:1 Max Value:10,000"),
    CIMB("CIMB", "CIMBVA", "ID", "IDR", "country", "Min Value:1 Max Value:10,000"),
    OVO("OVO", "OVO", "ID", "IDR", "country", "Min Value:1 Max Value:10,000"),
    DANA("DANA", "DANA", "ID", "IDR", "country", "Min Value:1 Max Value:10,000"),
    QRIS("QRIS", "NobuBankQRIS", "ID", "IDR", "country", "Min Value:1 Max Value:10,000"),
    AKULAKU("AKULAKU", "AKULAKU", "ID", "IDR", "country", "Min Value:1 Max Value:10,000"),
    ShopeePay_ID("ShopeePay", "ShopeePay", "ID", "IDR", "country", "Min Value:1 Max Value:10,000"),
    Konbini("Konbini", "Konbini", "JP", "JPY", "country", "Min Value:1 Max Value:300,000"),
    BankTransfer_JP("BankTransfer", "BankTransferJapan", "JP", "JPY", "Cashier Payment:country API Payment:country,firstName,lastName,jpFirstName,jpLastName,phone", "Min Value:1"),
    PayEasy("PayEasy", "PayEasy", "JP", "JPY", "Cashier Payment:country API Payment:country,firstName,lastName,jpFirstName,jpLastName,phone", "Min Value:1 Max Value:300,000"),
    Paypay("Paypay", "PayPay", "JP", "JPY", "country", "Min Value:1 Max Value:1,000,000"),
    LINE_Pay("LINE_Pay", "LINEPay", "JP", "JPY", "country", "Min Value:1 Max Value:1,000,000"),
    Merpay("Merpay", "merPay", "JP", "JPY", "country", "Min Value:1 Max Value:1,000,000"),
    Rakuten_Pay("Rakuten_Pay", "RakutenPay", "JP", "JPY", "country", "Min Value:100 Max Value:9,999,999"),
    BitCash("BitCash", "BitCash", "JP", "JPY", "Cashier Payment:country API Payment:country,prepaidNumber", "Min Value:1 Max Value:20,000"),
    Net_Cash("Net_Cash", "NetCash", "JP", "JPY", "Cashier Payment:country API Payment:country,prepaidNumber", "Min Value:1 Max Value:20,000"),
    WebMoney("WebMoney", "WebMoney", "JP", "JPY", "Cashier Payment:country API Payment:country,prepaidNumber", "Min Value:1 Max Value:20,000"),
    au("au", "auKDDI", "JP", "JPY", "country", "Min Value:1 Max Value:100,000"),
    SoftBank("SoftBank", "SoftBank", "JP", "JPY", "country", "Min Value:1 Max Value:100,000"),
    NTT_Docomo("NTT_Docomo", "NTTDocomo", "JP", "JPY", "country", "Min Value:1 Max Value:100,000"),
    Paidy("Paidy", "Paidy", "JP", "JPY", "country", "Min Value:1 Max Value:1,000,000"),
    BLIK("BLIK", "BLIK", "PL", "PLN", "Cashier Payment:country API Payment:country,walletAccountId", "Minimumtransactionamount:0.01PLNMaximumtransactionamount:50,000PLN/transaction(mostissuershavealimitof10,000PLN/transaction)"),
    BLIK_SEAMLESS("BLIK_SEAMLESS", "BLIK_Seamless", "PL", "PLN", "Cashier Payment:country API Payment:country,walletAccountId", "Minimumtransactionamount:0.01PLNMaximumtransactionamount:50,000PLN/transaction(mostissuershavealimitof10,000PLN/transaction)");

    /**
     * 本地支付方式类型/名称
     */
    private final String name;

    /**
     * LpmsInfo
     */
    private final String lpmsInfo;

    /**
     * 国家(ISO标准)
     */
    private final String standardValue;

    /**
     * 支持的货币
     */
    private final String supportedCurrencies;

    /**
     * 必填字段
     */
    private final String requiredFields;

    /**
     * 单笔限额
     */
    private final String limitAmount;


}
